pl, pr, vl, vr, k = map(int, input().split())
p, x = [0, 1e9], 0
def g(x):
if x < 1e9:
p.append(x)
g(10 * x + 4), g(10 * x + 7)
g(4), g(7), p.sort()
def f(a, b, c, d):
res = max(0, min(b, d) - max(a, c) + 1)
return res
for i in range(1, len(p) - k):
l1 = p[i - 1] + 1
l2 = p[i]
l3 = p[i + k - 1]
l4 = p[i + k] - 1
x += f(l1, l2, vl, vr) * f(l3, l4, pl, pr) + f(l1, l2, pl, pr) * f(l3, l4, vl, vr)
if k == 1 and max(vl, pl) <= l2 <= min(vr, pr):
x -= 1
print(1. * x / ((pr - pl + 1) * (vr - vl + 1)))
318A - Even Odds | 550B - Preparing Olympiad |
939B - Hamster Farm | 732A - Buy a Shovel |
1220C - Substring Game in the Lesson | 452A - Eevee |
1647B - Madoka and the Elegant Gift | 1408A - Circle Coloring |
766B - Mahmoud and a Triangle | 1618C - Paint the Array |
469A - I Wanna Be the Guy | 1294A - Collecting Coins |
1227A - Math Problem | 349A - Cinema Line |
47A - Triangular numbers | 1516B - AGAGA XOOORRR |
1515A - Phoenix and Gold | 1515B - Phoenix and Puzzle |
155A - I_love_username | 49A - Sleuth |
1541A - Pretty Permutations | 1632C - Strange Test |
673A - Bear and Game | 276A - Lunch Rush |
1205A - Almost Equal | 1020B - Badge |
1353A - Most Unstable Array | 770A - New Password |
1646B - Quality vs Quantity | 80A - Panoramix's Prediction |